package edu.uca.info2;


import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import com.google.gson.Gson;

import edu.uca.info2.components.Problem;

public class Program {

	// Estructura del juego:
	// 1.Cargar los mundos -> ok
	// 2. Obtener los datos del mundo 1 y comenzar el juego mandando los datos al resolver (prolog).
	// 3. Loop:
		//- Esperar respuesta
	    //  ejecutar movimiento/accion
		//- Analizar si se llego a la condicion de finalizacion de juebo
	    //- IF (se llego al final) entonces terminar
		//  ELSE mandar los datos al resolver e ir al punto 3.
	    //- 
	public static void main(String[] args) {

		 Gson gson = new Gson();
		 List<Problem> problemas = null;
		 Board board = new Board();
		 
		try {
	 
			// Se lee el archivo en formato json
			BufferedReader br = new BufferedReader(
				new FileReader("/Users/esteban/Projects/TpInfo2LosPerros/ejercicio01-aa/problemas.json"));
	 
			
			Problems obj = gson.fromJson(br, Problems.class);// esta linea convierte el archivo json a un objecto del tipo Problema
			problemas = obj.getProblems(); // esta es una lista con todos los problemas cargados
			
			
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		// Se inicializa el tablero.
		if (problemas == null){// no se cargaron bien los problemas
			
			
		}
		else{ // se cargaron correctamente (o al menos hay algo.)
			board.fillBoardFromProblemObjetc(problemas.iterator().next()); 
			board.printBoard();
			
		}
		

	}

}
